package client.GUI;

import java.awt.*;

import client.backend.Connection;
import client.backend.price.PriceController;

/**
 * Holds and returns the constants needed for the GUI
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class GUIConstants
{
    public static final Color Background_Color = Color.black;
    public static final Color Text_Color = Color.white;
    
    public static final Font Big_Font = new Font("Serif", 1, 36);
    public static final Font Little_Font = new Font("Serif", 1, 18);
    
    public static final Object OpenOrderColumnNames[] = { "#", "Date Opened", "Ratio" , "Rate", "Amount", "Buy/Sell", "Order Type" };
    public static final Object AccountsColumnNames[] = { "Currency", "Amount"};
    public static final Object OrderHistoryColumnNames[] = { "#", "Date Opened", "Date Closed", "Ratio", "Rate", "Amount", "Buy/Sell", "Order Type"};
	public static final Object PriceHistoryColumnNames[] = {"Date", "Ratio"};
    public static final Object Currencies[] = {"CAD", "USD", "CHF", "JPY", "GBP", "EUR"};
	public static final Object CurrencyPairs[] = {"CAD - USD", "CAD - CHF", "CAD - JPY", "CAD - GBP", "CAD - EUR",
												  "USD - CHF", "USD - JPY", "USD - GBP", "USD - EUR",
												  "CHF - JPY", "CHF - GBP", "CHF - EUR",
												  "JPY - GBP", "JPY - EUR",
												  "GBP - EUR"};
	public static final Object buySell[] = {"Buy", "Sell"};

	public static final int PanelSizeX = 1024;
	public static final int PanelSizeY = 718;
	
	public static Connection client = Connection.getInstance();
	
	/**
	 * Returns a Object array of the column names for the currency accounts table
	 * 
	 * @return AccountsColumnNames 		The array of Objects that holds the column
	 * 									names for the currency accounts table
	 */
	public static Object[] getAccountsColumnNames() {
		return AccountsColumnNames;
	}
	
	/**
	 * Returns an array of Objects of column names for the order history table
	 * 
	 * @return OrderHistoryColumnNames	The array of Objects that holds the column
	 * 									names for the order history table
	 */
	public static Object[] getOrderHistoryColumnNames() {
		return OrderHistoryColumnNames;
	}
	
	/**
	 * Returns an array of objects of column names for the price history table
	 * 
	 * @return PriceHistoryColumnNames	The array of Objects that holds the column
	 * 									names for the price history table
	 */
	public static Object[] getPriceHistoryColumnNames(){
		return PriceHistoryColumnNames;
	}
	
	/**
	 * Returns the array of objects of column names for the open orders table
	 * 
	 * @return OpenOrderColumnNames		The array of Objects that holds the column
	 * 									names for the price history table
	 */
	public static Object[] getOpenOrderColumnNames() {
		return OpenOrderColumnNames;
	}

}

